package com.cnap.multiclouldmgmt.util;

import com.cnap.multiclouldmgmt.model.RepByPage;
import com.github.pagehelper.PageInfo;

/**
 * 分页工具类
 *
 * @author xc
 **/
public class PageUtils {

    private PageUtils() {

    }

    /**
     * 获取分页结果
     *
     * @param pageInfo 分页信息
     * @return 分页结果
     */
    public static <T> RepByPage<T> getPageResult(PageInfo<T> pageInfo) {
        RepByPage<T> pageResult = new RepByPage<>();

        pageResult.setPageNo(pageInfo.getPageNum());
        pageResult.setPageSize(pageInfo.getPageSize());
        pageResult.setResult(pageInfo.getList());
        pageResult.setTotalNum((int) pageInfo.getTotal());

        return pageResult;
    }

    /**
     * 更新真正的分页信息
     *
     * @param pageInfo     分页信息
     * @param realPageInfo 真正的分页信息
     */
    public static void setRealPageInfo(PageInfo<?> pageInfo, PageInfo<?> realPageInfo) {
        pageInfo.setTotal(realPageInfo.getTotal());
        pageInfo.setPageNum(realPageInfo.getPageNum());
        pageInfo.setPageSize(realPageInfo.getPageSize());
    }
}
